define(["jquery"], function ($) {
    // 购物车主题页的js
    //数据请求
    if (localStorage.getItem('goods')) {
        // 将取出的数据进行转化为json对象
        var goodsArr = JSON.parse(localStorage.getItem('goods'));
        //进行数据请求渲染
        $.ajax({
            url: "../data/listgoods.json",
            type: 'get',
            dataType: 'json',
            cache: 'false',
            success: function (jsonArr) {
                // 找出localStorage里的数据并渲染到页面中
                $.each(goodsArr, function (index, item) {
                    $.each(jsonArr, function (i, element) {
                        if (item.code === element.code) {
                            // 创建节点
                            let goodsDom = `
                                    <div class="nav-list-cart">
                                    <li class="list1"><input type="checkbox" class="oneChecked"></li>
                                    <li class="list2"><img src="${element.imgurl}" alt=""></li>
                                    <li class="list3">
                                       ${element.title}
                                    </li>
                                    <li class="list4">${element.sideTit}
                                    </li>
                                    <li class="list5"><i>￥</i><span>${element.price}</span></li>
                                    <li class="list6">
                                        <button class="left fl">-</button>
                                        <input type="text " class="text fl" value="${item.num}" >
                                        <button class="right fl">+</button>
                                    </li>
                                    <li class="list7">${element.price*item.num}</li>
                                    <li class="list8"><a href="#" class="del" code="${element.code}">删除</a><a href="#" class="love">移入我的关注</a></li>
                                </div>
                            `
                            $('.nav').append(goodsDom)
                        }
                    })
                })
            }
        });
        // 删除购物车里的商品
        $('.nav').on('click', '.nav-list-cart .del', function () {
            console.log(111);
            // 这一步很关键，因为这不仅要移除列表里的数据，而且还必须要删除本地存储里的数据
            let code = $(this).attr('code');
            //遍历找到需要删除的元素
            $.each(goodsArr, function (index, item) {
                if (item.code === code) {
                    // 删除localStorage里的数据
                    goodsArr.splice(index, 1);
                    return false;
                }
            })
            //更新数据
            if (goodsArr.length > 0) {
                localStorage.setItem('goods', JSON.stringify(goodsArr))
            } else {
                // 清空localStorage里的数据，必须清空，避免空数组存在
                localStorage.clear();

                $('.nav').html(($('<p style="line-height:144px; text-align:center; color: #999; width:1198px;">购物车暂无数据！</p>')))
            }
            $(this).parent().parent().remove();
            alert(' 商品成功移出购物车！');
        })
    } else {
        $('.nav').html(($('<p style="line-height:144px; text-align:center; color: #999; width:1198px;">购物车暂无数据！</p>')))
    }

    function cartGoods() {
        $(".bottom .list2 span").html(0);
        $(".box").on("click", ".allChecked", function () {
            var num = 0;
            var index = 0;
            if ($(this).prop("checked")) {
                $(".allChecked").prop("checked", true);
                $(".oneChecked").prop("checked", true);
                $(".oneChecked").each(function () {
                    // num += $(this).siblings('.list7').html();
                    num += Number($(this).parent().siblings(".list7")[0].innerHTML);
                    index += Number(
                        $(this).parent().siblings(".list6").find(".text")[0].value
                    );
                });
                // $(".bottom .list2 span").html(num);
                // $(".bottom .list1 span").html(index);
            } else {
                $(".allChecked").prop("checked", false);
                $(".oneChecked").prop("checked", false);
                $('.oneChecked').each(function (index, item) {
                    if ($(this).prop('checked')) {
                        num += Number($(this).parent().siblings(".list7")[0].innerHTML);
                        index += Number($(this).parent().siblings(".list6").find(".text")[0].value);
                    }
                });
            };
            $(".bottom .list2 span").html(num);
            $(".bottom .list1 span").html(index)
        });

        //单选控制多选
        $(".box").on("click", ".oneChecked", function () {

            $('.oneChecked').each(function (index, item) {
                if (!$(item).prop('checked')) {
                    $('.allChecked').prop('checked', false);
                    return false;
                }
                $('.allChecked').prop('checked', true);

            })

        });
        $('.box').on('click', '.oneChecked', function () {
            var num = 0,
                index = 0;
            // 首先必须要初始化index
            $('.oneChecked').each(function () {
                if ($(this).prop('checked')) {
                    num += Number($(this).parent().siblings(".list7")[0].innerHTML);
                    index += Number($(this).parent().siblings(".list6").find(".text")[0].value);
                }
            })
            $(".bottom .list1 span").html(index);
            $(".bottom .list2 span").html(num);
        })

        $('.box').on('click', '.list6 button', function () {
            // console.log($(this).parent().siblings('.list8').find('.del'));
            var code = $(this).parent().siblings('.list8').find('.del').attr('code');
            var $that = $(this);
            $.each(goodsArr, function (index, item) {
                if (item.code === code) {
                    // console.log($that[0].className);
                    if ($that.hasClass('left')) {
                        $that.siblings('.text').val(parseFloat($that.siblings('.text').val()) - 1);
                        $that.parent().siblings('.list7').text($that.siblings('.text').val() * $that.parent().siblings('.list5').children("span").text())
                        item.num--;
                        if ($that.siblings('.text').val() <= 0) {
                            parseFloat($that.siblings('.text').val(1))
                            $that.parent().siblings('.list7').text($that.parent().siblings('.list5').children("span").text())
                            item.num = 1;
                            return;
                        }
                        var num = $(".bottom .list2 span").html();
                        var index = $(".bottom .list1 span").html();
                        var vlu = parseInt($that.siblings('.text').val());
                        console.log(parseInt($that.siblings('.text').val()));
                        // if((parseInt($that.siblings('.text').val()) = 0))return;
                        if ((parseInt($that.siblings('.text').val()) > 0)) {
                            console.log(parseInt($that.siblings('.text').val()))
                            if ($that.parent().siblings('.list1').children('input').prop("checked")) {
                                console.log(22222);
                                num = parseFloat(num) - parseFloat($that.parent().siblings('.list5').children("span").text());
                                index = parseInt(index) - 1;
                            }
                            $(".bottom .list2 span").html(num);
                            $(".bottom .list1 span").html(index)
                        }
                    } else {
                        $that.siblings('.text').val(parseFloat($that.siblings('.text').val()) + 1);
                        $that.parent().siblings('.list7').text($that.siblings('.text').val() * $that.parent().siblings('.list5').children("span").text())
                        item.num++;
                        var num = $(".bottom .list2 span").html();
                        var index = $(".bottom .list1 span").html();
                        if ($that.parent().siblings('.list1').children('input').prop("checked")) {
                            num = parseFloat($that.parent().siblings('.list5').children("span").text()) + parseFloat(num);
                            index = parseInt(index) + 1;
                        }
                        $(".bottom .list2 span").html(num);
                        $(".bottom .list1 span").html(index)

                    }
                    // console.log($that.parent().siblings('.list1').children('input'));

                }
                localStorage.setItem('goods', JSON.stringify(goodsArr))
            })
        })
    }
    //删除选中的商品
    $('.allDel').click(function () {
        $('.oneChecked').each(function (index, ele) {
            if ($(this).prop('checked')) {
                code = $(this).parent().siblings('.list8').children('.del').attr('code');

                $.each(goodsArr, function (index, item) {
                    if (item.code === code) {
                        // 删除localStorage里的数据
                        goodsArr.splice(index, 1);
                        return false;
                    }
                })
                if (goodsArr.length > 0) {
                    localStorage.setItem('goods', JSON.stringify(goodsArr))
                } else {
                    // 清空localStorage里的数据，必须清空，避免空数组存在
                    localStorage.clear();

                    $('.nav').html(($('<p style="line-height:144px; text-align:center; color: #999; width:1198px;">购物车暂无数据！</p>')))
                }
                $(this).parent().parent().remove();
                $(".bottom .list1 span").html(0);
                $(".bottom .list2 span").html(0);
            }
        })
    })

    //清理购物车
    $('.clear').click(function () {
        $('.nav').empty();
        localStorage.clear();
    })


    return {
        cartGoods: cartGoods
    }
});